<?php
//str_repeat重复字符串若干次, 0次会返回空字符串""
echo str_repeat('Ok',3),"\n"; // OkOkOk
echo str_repeat('-',60),"\n";
//join 拼接数组元素为一个字符串
echo join(['Hi','Zhangsan']),"\n"; //HiZhangsan
echo join(', ', [123,456,789]),"\n"; //123, 456, 789
//strtolower、strtoupper转换大小写
echo strtolower("How Are You.\n");//how are you.
echo strtoupper("I'm fine, Thank you.\n"); //I'M FINE, THANK YOU.
//printf、sprintf格式化输出
$a=16.38759;
printf("[%f] [%1$.2f] [%1$6.2f] [%1$-6.2f]\n",$a); //[16.387590] [16.39] [ 16.39] [16.39 ]
$a="How are you?";
printf("[%s] [%1$.3s] [%1$5.3s] [%1$'*6.3s]\n",$a); //[How are you?] [How] [  How] [***How]
$a="计算机";
printf("[%s] [%1$6.3s]\n",$a);//[计算机] [   计]
//substr取子串
echo substr("Hello",0,2),"\n"; //He
echo substr("Hello",0,-2),"\n"; //Hel
echo substr("Hello",-4,-2),"\n"; //el
//str_starts_with是否以指定的串开头
var_dump(str_starts_with('Hello',"He"));//bool(true)
var_dump(str_starts_with('Hello',"he"));//bool(false)
var_dump(str_ends_with('Hello',"o"));//bool(true)

//将数组中的每项数据及其对应的 16 进制串，两端对齐显示在指定的宽度内
//将数组中的每项数据及其对应的 16 进制串，两端对齐显示在指定的宽度内，若宽度不足，则两项数据直接显示。
$a=['张三丰','里  斯','阿 kit','papi 酱','Jackson'];
outFormat(35,$a); //利用函数处理数组数据, 输出内容在35个英文字符宽度内

//完善函数功能，将数组中的每项数据及其16进制串，两端对齐显示在指定的宽度内
//数组中的每一项数据中包含的空格要删除掉
//16进制串中每个字节占两个16进制位，英文字符采用大写，各字节间以_分隔
//本文件存储采用utf-8编码
function outFormat(int $width, ?array $a):void {


}
/* 输出内容如下：
张三丰   E5_BC_A0_E4_B8_89_E4_B8_B0
里斯              E9_87_8C_E6_96_AF
阿kit             E9_98_BF_6B_69_74
papi酱         70_61_70_69_E9_85_B1
Jackson        4A_61_63_6B_73_6F_6E
*/